Skip to content
This repository has been archived by the owner on Apr 3, 2020. It is now read-only.

[Android] Support the feature of proxy in Crosswalk #363

Open
wants to merge 768 commits into
base: master
Choose a base branch
from

Conversation

fujunwei
Copy link

Crosswalk for android will update proxy when a PROXY_CHANGE intent is received,
but it’s need system permission to send the broadcast, there is also a workaround with
reflecting the incompatible api, but it’s too complex to maintain those codes, so
implement the new API in XWalkView to set proxy for images/text resources.

BUG=XWALK-6769

@crosswalk-trybot
Copy link

crosswalk-trybot commented Jun 28, 2016

Testing patch series with fujunwei/chromium-crosswalk@6d02162 as its head.

Bot Status
Content Shell Android-x86 [FAILED 💔](https://build.crosswalk-project.org/try/builders/Content Shell Android-x86/builds/301)
Content Shell Linux [FAILED 💔](https://build.crosswalk-project.org/try/builders/Content Shell Linux/builds/299)

@fujunwei
Copy link
Author

@lincsoon @xuxin @wuhengzhi PTAL.

@fujunwei fujunwei force-pushed the crosswalk-21_page_proxy branch from 6d02162 to 44ebfe9 Compare June 28, 2016 06:07
@crosswalk-trybot
Copy link

crosswalk-trybot commented Jun 28, 2016

Testing patch series with fujunwei/chromium-crosswalk@44ebfe9 as its head.

Bot Status
Content Shell Android-x86 [SUCCESS 💚](https://build.crosswalk-project.org/try/builders/Content Shell Android-x86/builds/302)
Content Shell Linux [SUCCESS 💚](https://build.crosswalk-project.org/try/builders/Content Shell Linux/builds/300)

fujunwei pushed a commit to fujunwei/chromium-crosswalk that referenced this pull request Jun 28, 2016
…s to

offline pages was to switch from the provisional load events to use the
newer navigation events.

This change switches to the new events, and adds a working test.

BUG=591150

Review URL: https://codereview.chromium.org/1754333002

Cr-Commit-Position: refs/heads/master@{#379725}
(cherry picked from commit 2ec1dfe)

Review URL: https://codereview.chromium.org/1829853002 .

Cr-Commit-Position: refs/branch-heads/2661@{crosswalk-project#363}
Cr-Branched-From: ef6f6ae-refs/heads/master@{#378081}
liberato-at-chromium and others added 25 commits June 29, 2016 15:27
This is a merge to M52 of:
https://codereview.chromium.org/2084143002
https://codereview.chromium.org/2091253003

Android MediaCodec creation will sometimes never come back.  On a
N7 (2013) with Lollipop, this can happens when an attempt to allocate
a hardware codec fails, and falls back to a software codec.  Once
mediaserver gets into a bad state, future attempts to create a
hardware codec will hang.  As a result, no additional AVDA instances
will get codecs.  Further, destroying any of them will hang the gpu
process when it tries to join the thread that handles construction.

This CL does several things:
    - Don't join the construction thread if there are outstanding
      MediaCodec creations on it.  While this may sometimes not
      shut down the thread if the AVDA is destroyed while the
      creation is pending (and would return if we just waited a bit
      longer), the thread will be shut down the next time an AVDA
      instance is destroyed.  It isn't leaked permanently.

    - Fall back to requesting a software codec if we believe that
      construction of a hardware codec is hung.  We don't attempt
      to salvage the AVDA instance(s) that have pending HW codecs,
      but future AVDA instances will fall back to software.  If
      those HW codecs are eventually allocated, then we will start
      requesting HW codecs again.  For example, if we simply time
      out too quickly, or if mediaserver is restarted, then we can
      try for hardware codecs for future AVDA instances.

    - Release hardware codecs on a separate thread, since that can
      hang too if mediaserver is in a bad state.

BUG=613238, 622927
[email protected]
NOPRESUBMIT=true
NOTRY=true

Review-Url: https://codereview.chromium.org/2106133003
Cr-Commit-Position: refs/branch-heads/2743@{#519}
Cr-Branched-From: 2b3ae3b-refs/heads/master@{#394939}
When processing the set of dirty output nodes, nodes further down the
chain may be marked as dirty as a result. Take that into account
when iterating over the current set.

R=hoch
BUG=610643, 613902

Review-Url: https://codereview.chromium.org/2006883002
Cr-Commit-Position: refs/heads/master@{#395643}
(cherry picked from commit 7b953ca)

Drop unique audio thread ID requirement.

r391848 introduced the requirement that, once set, the audio thread ID
could not be changed. This is proving too burdensome a constraint to
keep, in case audio device threads do end up being stopped and new
ones created.

While r395182 took care of some cases where audio threads end up
stopping, carefully resetting the recordeed audio thread ID, other
cases remain (see associated bug.) While those could be similarly
handled, precisely tracking the current audio thread ID is proving
to not be worth the overhead. Hence, retire the constraint and let
the audio thread processing a render quantum set its thread ID as
part of executing, irrespective of what audio thread executed
the previous quantum.

This effectively reverts r395182.

R=
BUG=613902

(cherry picked from commit 94a98a7)

Review-Url: https://codereview.chromium.org/2008903002
Cr-Original-Commit-Position: refs/heads/master@{#395682}
Cr-Commit-Position: refs/branch-heads/2743@{#520}
Cr-Branched-From: 2b3ae3b-refs/heads/master@{#394939}
Device state broadcast receiver is registered after the sync backend
initialized callback. It should be registered when precache GCM task
starts, since WiFi/Power state changes may occur while the sync is
being initialized.

BUG=619225

(cherry picked from commit 411c94f)

Review-Url: https://codereview.chromium.org/2064213002
Cr-Original-Commit-Position: refs/heads/master@{#400803}
Cr-Commit-Position: refs/branch-heads/2743@{#521}
Cr-Branched-From: 2b3ae3b-refs/heads/master@{#394939}
…shKey.

Allows Blink to use base::debug::ScopedCrashKey.

BUG=621730

Review-Url: https://codereview.chromium.org/2105763002
Cr-Commit-Position: refs/heads/master@{#402602}
(cherry picked from commit 28dd2ed)

Review URL: https://codereview.chromium.org/2109163002 .

Cr-Commit-Position: refs/branch-heads/2743@{#522}
Cr-Branched-From: 2b3ae3b-refs/heads/master@{#394939}
Currently, getting an unsatisfiable range error will crash multibuffers.
That shouldn't normally happen if the server is sane, which is of course not guaranteed.

(cherry picked from commit 625ddd9)

Review-Url: https://codereview.chromium.org/2078833003
Cr-Original-Commit-Position: refs/heads/master@{#400766}
Cr-Commit-Position: refs/branch-heads/2743@{#523}
Cr-Branched-From: 2b3ae3b-refs/heads/master@{#394939}
…rrent set."

This reverts commit d0b96fe.

Spoke with security TPM and we don't need this for M52.  Reverting.

Cr-Commit-Position: refs/branch-heads/2743@{#524}
Cr-Branched-From: 2b3ae3b-refs/heads/master@{#394939}
This change can be reverted after a day or two of data.

BUG=621730
[email protected], [email protected]

Review URL: https://codereview.chromium.org/2107773002 .

Cr-Commit-Position: refs/heads/master@{#402609}
(cherry picked from commit d0210f3)

Review URL: https://codereview.chromium.org/2112573002 .

Cr-Commit-Position: refs/branch-heads/2743@{#525}
Cr-Branched-From: 2b3ae3b-refs/heads/master@{#394939}
Cr-Commit-Position: refs/branch-heads/2743@{#526}
Cr-Branched-From: 2b3ae3b-refs/heads/master@{#394939}
If multiple windows all tried to create a warning bubble at the same
time, it would be handled incorrectly. Though only one bubble would
show, the others would be destructed and potentially undo the work the
first did (like highlighting extensions on the toolbar).

Instead, link the warning bubbles with the toolbar model, which is per-
profile and handles the highlighting logic. Also add a regression test,
and beef up some existing tests.

BUG=620434

Review-Url: https://codereview.chromium.org/2076093004
Cr-Commit-Position: refs/heads/master@{#400849}
(cherry picked from commit af64c8c)

[Extensions UI] Fix a crash when clicking on a bubble's learn more

Clicking on a bubble's learn more link causes a tab to open, which in
turn causes the bubble to be cleaned up (as part of losing focus to the
new tab). Fix the order so that we clean up before opening the new tab
and add a regression test. Also add end-to-end tests for clicking on the
action and dismiss buttons.

BUG=622117

Review-Url: https://codereview.chromium.org/2086193002
Cr-Commit-Position: refs/heads/master@{#401412}
(cherry picked from commit bb826f1)

[email protected]
[email protected]

Manual Merge Note: Merging the fix for crbug.com/620434 along with the
fix for the crash related to that patch.

Review URL: https://codereview.chromium.org/2105393002 .

Cr-Commit-Position: refs/branch-heads/2743@{#527}
Cr-Branched-From: 2b3ae3b-refs/heads/master@{#394939}
Cr-Commit-Position: refs/branch-heads/2743@{#528}
Cr-Branched-From: 2b3ae3b-refs/heads/master@{#394939}
BUG=622219

Review-Url: https://codereview.chromium.org/2107953003
Cr-Commit-Position: refs/heads/master@{#402698}
(cherry picked from commit a54d742)

Review URL: https://codereview.chromium.org/2110183002 .

Cr-Commit-Position: refs/branch-heads/2743@{#529}
Cr-Branched-From: 2b3ae3b-refs/heads/master@{#394939}
There are several corner cases with in-page navigations where non-web
URLs (e.g., about:blank, file) may look cross-origin.  This was
leading to renderer kills when a subframe went back/forward.

A followup CL will account for these cases more accurately, but since
this is just second line of defense against URL spoofs, we can loosen
it to only check web URLs for the time being to avoid the kills.

BUG=613732
TEST=See bug comment 10 for repro steps.
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation

Review-Url: https://codereview.chromium.org/2054013003
Cr-Commit-Position: refs/heads/master@{#399228}
(cherry picked from commit 37988b9)

Review URL: https://codereview.chromium.org/2111633002 .

Cr-Commit-Position: refs/branch-heads/2743@{#530}
Cr-Branched-From: 2b3ae3b-refs/heads/master@{#394939}
…becomes out-of-flow-positioned

This is required when there are descendants needing overflow recalc.
Otherwise during overflow recalc because the containing block's
positioned descendant list didn't contain the new out-of-flow-positioned
object we would not reach the descendants needing overflow recalc.

BUG=623867
TEST=fast/overflow/add-visual-overflow-and-change-container-position.html

Review URL: https://codereview.chromium.org/2111643002 .

Review-Url: https://codereview.chromium.org/2103843003
Cr-Original-Commit-Position: refs/heads/master@{#402550}
Cr-Commit-Position: refs/branch-heads/2743@{#531}
Cr-Branched-From: 2b3ae3b-refs/heads/master@{#394939}
… URLs. (patchset crosswalk-project#1 id:1 of https://codereview.chromium.org/2111633002/ )

Reason for revert:
Sigh, test failed to compile on builder:

https://uberchromegw.corp.google.com/i/official.desktop.continuous/builders/win%20beta/builds/3447/steps/compile/logs/stdio

FAILED: obj/content/browser/frame_host/content_browsertests.navigation_controller_impl_browsertest.obj
ninja -t msvc -e environment.x86 -- "C:\b\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\VC\bin\amd64_x86\cl.exe" /nologo /showIncludes /FC @obj\content\browser\frame_host\content_browsertests.navigation_controller_impl_browsertest.obj.rsp /c ..\..\content\browser\frame_host\navigation_controller_impl_browsertest.cc /Foobj\content\browser\frame_host\content_browsertests.navigation_controller_impl_browsertest.obj /Fdobj\content\content_browsertests.cc.pdb
c:\b\build\slave\win_beta\build\src\content\browser\frame_host\navigation_controller_impl_browsertest.cc(749): error C2664: 'bool content::ExecuteScript(const content::ToRenderFrameHost &,const std::string &)': cannot convert argument 1 from 'content::FrameTreeNode *' to 'const content::ToRenderFrameHost &'

Original issue's description:
> Avoid incorrect NC_AUTO_SUBFRAME renderer kills for non-web URLs.
>
> There are several corner cases with in-page navigations where non-web
> URLs (e.g., about:blank, file) may look cross-origin.  This was
> leading to renderer kills when a subframe went back/forward.
>
> A followup CL will account for these cases more accurately, but since
> this is just second line of defense against URL spoofs, we can loosen
> it to only check web URLs for the time being to avoid the kills.
>
> BUG=613732
> TEST=See bug comment 10 for repro steps.
> CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation
>
> Review-Url: https://codereview.chromium.org/2054013003
> Cr-Commit-Position: refs/heads/master@{#399228}
> (cherry picked from commit 37988b9)
>
> Committed: https://chromium.googlesource.com/chromium/src/+/38453aec59e45d2685bb327f3a9033554489e4e8

[email protected]
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=613732

Review-Url: https://codereview.chromium.org/2110183003
Cr-Commit-Position: refs/branch-heads/2743@{#532}
Cr-Branched-From: 2b3ae3b-refs/heads/master@{#394939}
There are several corner cases with in-page navigations where non-web
URLs (e.g., about:blank, file) may look cross-origin.  This was
leading to renderer kills when a subframe went back/forward.

A followup CL will account for these cases more accurately, but since
this is just second line of defense against URL spoofs, we can loosen
it to only check web URLs for the time being to avoid the kills.

[email protected]
BUG=613732
TEST=See bug comment 10 for repro steps.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review-Url: https://codereview.chromium.org/2054013003
Cr-Commit-Position: refs/heads/master@{#399228}
(cherry picked from commit 37988b9)

Review-Url: https://codereview.chromium.org/2111713002
Cr-Commit-Position: refs/branch-heads/2743@{#533}
Cr-Branched-From: 2b3ae3b-refs/heads/master@{#394939}
… invalidation.

BUG=610287

Review-Url: https://codereview.chromium.org/2099383003
Cr-Commit-Position: refs/heads/master@{#402404}
(cherry picked from commit 034b0a2)

Review URL: https://codereview.chromium.org/2110953002 .

Cr-Commit-Position: refs/branch-heads/2743@{#534}
Cr-Branched-From: 2b3ae3b-refs/heads/master@{#394939}
…e once per client.

When a new automation API client is added but accessibility is already
enabled (like if you disable and then re-enable ChromeVox), we have to
reset the accessibility state of every frame to ensure that the new
accessibility client gets a clean accessibility tree.

On a site with iframes, this resulted in the accessibility tree getting
reset once per each frame, leading to a performance regression that was
especially noticeable on Mac. Fix it by only resetting once per frame tree.

BUG=619113

Review-Url: https://codereview.chromium.org/2095393003
Cr-Commit-Position: refs/heads/master@{#402490}
(cherry picked from commit 333a09d)

Review URL: https://codereview.chromium.org/2105683007 .

Cr-Commit-Position: refs/branch-heads/2743@{#535}
Cr-Branched-From: 2b3ae3b-refs/heads/master@{#394939}
Caused by incorrect merge conflict resolution.

BUG=624571

Review URL: https://codereview.chromium.org/2109023003 .

Cr-Commit-Position: refs/branch-heads/2743@{#536}
Cr-Branched-From: 2b3ae3b-refs/heads/master@{#394939}
It was done for WebKit in http://wkrev.com/192805

Without it, the renderer process can't talk to the font server on macOS
10.12 Sierra and spawns an entire font server in each renderer process.

This CL reduces the memory footprint of each renderer process by ~600MB
on macOS 10.12 Beta (16A201w).

BUG=619981

Review-Url: https://codereview.chromium.org/2075953002
Cr-Commit-Position: refs/heads/master@{#402523}
(cherry picked from commit 56fd33c)

Review URL: https://codereview.chromium.org/2104283003 .

Cr-Commit-Position: refs/branch-heads/2743@{#537}
Cr-Branched-From: 2b3ae3b-refs/heads/master@{#394939}
Cr-Commit-Position: refs/branch-heads/2743@{#538}
Cr-Branched-From: 2b3ae3b-refs/heads/master@{#394939}
BUG=618763

Review-Url: https://codereview.chromium.org/2082723002
Cr-Commit-Position: refs/heads/master@{#402634}
(cherry picked from commit a840351)

Review URL: https://codereview.chromium.org/2105413003 .

Cr-Commit-Position: refs/branch-heads/2743@{#539}
Cr-Branched-From: 2b3ae3b-refs/heads/master@{#394939}
In Material Design we display a white tab spinner for Incognito mode
tabs, but we need to also do so for dark themes.

[email protected]
BUG=624106

Review-Url: https://codereview.chromium.org/2103073003
Cr-Commit-Position: refs/heads/master@{#402643}
(cherry picked from commit f61958a)

Review URL: https://codereview.chromium.org/2104233004 .

Cr-Commit-Position: refs/branch-heads/2743@{#540}
Cr-Branched-From: 2b3ae3b-refs/heads/master@{#394939}
An edge case was missed due to a typo in a DCHECK, during the original
fallback decoder submission.

Currently, the following scenario can happen:
- DecoderStream requests buffers from the demuxer
  (STATE_PENDING_DEMUXER_READ).
- |decoder_| returns a DECODE_ERROR before a frame was ouptutted,
  initiating a decoder fallback (STATE_REINITIALIZING_DECODER).
- OnDecoderSelected() successfully completes (STATE_NORMAL).
- OnBufferReady() is called back (the typo in the DCHECK meant we never
  considered when we enter the function in STATE_NORMAL). We return at
  line 601 because the state is not STATE_PENDING_DEMUXER_READ, and drop
  the buffer.

This CL fixes the typo, and changes so we only drop the buffer whilst in
STATE_ERROR, and also handles the case where we had saved buffers in the
fallback buffer queue.

BUG=597605, 615141
TEST= Setup GpuVideoDecoder to fail 10% and refreshed the page for
several minutes. Hard to test the end to end though...

Review-Url: https://codereview.chromium.org/2012293002
Cr-Commit-Position: refs/heads/master@{#396371}
(cherry picked from commit 4849043)

Review URL: https://codereview.chromium.org/2109083003 .

Cr-Commit-Position: refs/branch-heads/2743@{#541}
Cr-Branched-From: 2b3ae3b-refs/heads/master@{#394939}
…stable."

The pending demuxer read state is overwritten in too many cases to
be reliable, instead always use the flag instead of trying to have
it both ways.

The main issue this fixes is where there are parallel decodes and a
demuxer read outstanding, one decode completes with an error, and
the new decoder is initialized before the demuxer read completes.

Previously this would stomp the pending read state and we'd try to
issue a new demuxer read when the decoder initialization completed,
blowing up the demuxer in the process.

BUG=597605
TEST=new unittest

Review-Url: https://codereview.chromium.org/2110463003
Cr-Commit-Position: refs/heads/master@{#402667}
(cherry picked from commit 5d162a6)

Review URL: https://codereview.chromium.org/2109383002 .

Cr-Commit-Position: refs/branch-heads/2743@{#542}
Cr-Branched-From: 2b3ae3b-refs/heads/master@{#394939}
Merge to M52 on behalf of warx@.

When getting screensize for powerwash reset, making sure the currentScreen is 'reset', not 'account-picker'.

BUG=615088
[email protected], [email protected]
TEST=Multiple tests on M52, the corrupted powerwash proposal UI doesn't happen any more.
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:closure_compilation

Review-Url: https://codereview.chromium.org/2109763003
Cr-Commit-Position: refs/heads/master@{#402676}
(cherry picked from commit 956d75c)

Review URL: https://codereview.chromium.org/2106273003 .

Cr-Commit-Position: refs/branch-heads/2743@{#543}
Cr-Branched-From: 2b3ae3b-refs/heads/master@{#394939}
axinging and others added 21 commits August 16, 2016 15:27
Use this API to control whether the SurfaceView's surface is placed on top of its window.
Note this only works when SurfaceView is used. For TextureView, it doesn't work.

Related to XWALK-3778,XWALK-3742
The code in blink project will use this flag to reduce the binary size.

This patch is backported from the crosswalk-lite branch.
Due to some ffmpeg changes which now statically build ffmpeg onto
Chromium/Crosswalk the component build was broken on Windows. It turns
out that it couldn't link due to missing symbols in ffmpeg.dll (the very
same we use in sysapp code). It's due to two changes in upstream :
- https://chromium.googlesource.com/chromium/third_party/ffmpeg/+/467a5ef970
which now use ffmpeg.sigs to generate the exported symbols
- https://chromium.googlesource.com/chromium/third_party/ffmpeg/+/59c940d188
which is a following patch after ffmpegsumo removal.

The code we have in chromium-crosswalk which adds the extra symbols
we use from ffmpeg needs to be adapted and the sigs file needs to be
renamed. See original patch :

crosswalk-project@60bc442
Embedders may want to put paks in res/raw instead of assets.
Because for Android Library project, assets is not handled well.
Add intercepter in ResourceExtractor to allow embedder to
provide the interceptable resources' list and the inputstream
to intercept with.
hrtf means "Head-related transfer function". It's to put the source
in a 3-D related position to the listener. Without this feature,
we can remove all the impluse wav resources.

This patch is backported from the crosswalk-lite branch

BUG=https://crosswalk-project.org/jira/browse/XWALK-3929
TEST=Build with/without flag disable_webaudio_hrtf and simple test on XWalkCoreShell.apk
SIZE_REDUCED=140k(Release build on ARM)
The demo at https://storage.googleapis.com/presentation-api/index.html
can be used to see how the API is works.
The Crosswalk Presentation API implementation on Windows requires
having a connected non-primary display (either wired (HDMI, Display Port, ...)
or wireless (miracast)).

BUG=XWALK-4811
Unlike WebView, XWalkView uses a ContentView object as its child view,
which is actually receiving all kinds of events such as touching and
clicking. To let the XWalkView object receive these events too, it's
necessary to override relevant methods of ContentView and redirect
them to the XWalkView object. So we add XWalkContentView and have it
extend ContentView. To make this possible, the contructor of ContentView
must be public.

XWalkContentView is a temporary solution. We are targeting to optimize
the hierarchy of XWalkView to make it more like WebView. This task can
be tracked via XWALK-6118.

BUG=XWALK-6014
Add Intel RSSDK based video capture device VideoCaptureDeviceRSWin.

It allows:
1. Crosswalk apps to share the RealSense camera with other native apps
   simultaneously.
2. Crosswalk apps to use getUserMedia API to preview RealSense camera
   in real-time while accessing RSSDK middlewares in Crosswalk extensions
   simultaneously.

This feature is behind "use_rssdk" build flag and "use-rs-video-capture"
runtime flag.

TEST=
On a device with RealSense camera and RSSDK, execute
1. DF_RawStreams.exe (RSSDK sample)
2. xwalk.exe --use-rs-video-capture
   https://webrtc.github.io/samples/src/content/devices/input-output/
Crosswalk and DF_RawStreams.exe should capture video frames from
RealSense camera simultaneously.

BUG=XWALK-6028
BUG=XWALK-5503

Some OSs (e.g. Windows and Linux) don't mark windows as hiden on screen
lock or when other opaque windows fully cover them.
Note that e.g. OSX and Android do this while Windows and Linux don't.
OnSoftVisibilityChanged enables that OS window state is kept as is (on
Linux and Windows) and that e.g. power saving PageVisibility API is still
properly triggered.

The first patch here targets Windows and screen lock.

branch pagevis
[windows] App does not support orientation lock

On Windows 8 and later, fullscreen is not mandatory to get application
prefered locking.
Patch here implements Screen orientation lock API for Windows.

BUG=XWALK-5002
If set the WindowBackground of Activity to RED, and webpage page's backgroudn to RED,
when application starts or resumes after click back key, it will showup a white screen
shortly. With this SetBackgroundColor, we can change the first screen to a fix color,
which can help to avoid white screen.

BUG=XWALK-4809, XWALK-4995

Conflicts:
	content/browser/android/content_view_core_impl.cc

[M50 Rebase: SetBackgroundColor() was removed in https://crrev.com/1651933003.
add back for content/browser/android/content_view_core_impl.h]
This setting, introduced in 070dd8c ("[Android] Rework multidex and
enable multidex for unit_tests_apk. (RELAND 2)"), caused our test APKs
to fail to build:

  Uncaught translation error: java.lang.IllegalArgumentException: already added: Lorg/chromium/base/multidex/ChromiumMultiDex;

For now, revert the `generate_multidex_config` part of the change while
we investigate how to make things work without this commit.

BUG=XWALK-6547
BUG=XWALK-6625
Enable transparent TextureView when user changes the default SurfaceView to TextureView.

BUG=XWALK-6519
OverScrolled Event could be catch by WebView through Android View
System. But XWalkView is not a true view, so XWalkView need this patch
to port OverScrolled Event to it.

BUG=XWALK-4871
BUG=XWALK-4894
Those headers will be imported into chromium-crosswalk, so we need to
stop ignoring the directory.

BUG=XWALK-6661
These headers correspond to
https://cvs.khronos.org/svn/repos/registry/trunk/public/cl/api/1.2@30030.

The headers used to be pulled by Crosswalk's DEPS.xwalk, but with M49
the WebCL code that uses the OpenCL headers is always built, so we need
them in chromium-crosswalk for content_shell builds to work.

BUG=XWALK-6661
…ribute

The newly added 'AudioDestinationNode.devicePosition' attribute
helps to bind audio context time and performance time values.

Please see for more details:
WebAudio/web-audio-api#754
WebAudio/web-audio-api#12

For M51 rebase adapted to,
https://codereview.chromium.org/1773813007
Before this change calling of AudioOutputStream::AudioSourceCallback
method without stream position ended up in an empty implementation.

BUG=XWALK-6703
Those two files were erroneously added in commit bbc2a01 ("[Temp] Do not
enable generate_multidex_config by default on Android").

BUG=XWALK-6547
BUG=XWALK-6625
BUG=XWALK-6961
**IMPORTANT**
We actually intend to fix this properly. We are cherry-picking this
commit from the crosswalk-18 branch first in order to have a stable
baseline with no WebVR support propagating from Crosswalk 21 to 20 to
19. After that, we can start working on fixing this in 21 and 20 and, if
there is enough time, 19 too.

*From the original commit message:*

Move `CardboardVRDevice.java` to a different directory so that it is not
built by the `content_java` target even if `enable_webvr==0`.

This is a prerequisite for getting the code to build with
`enable_webvr=0`.

BUG=XWALK-6746

(cherry picked from commit e593418)
FontRendererStyle was excluded.

Fixing https://codereview.chromium.org/1944993003/ issue that missed
FontRendererStyle.cpp in gyp file
@crosswalk-trybot
Copy link

crosswalk-trybot commented Aug 24, 2016

Testing patch series with fujunwei/chromium-crosswalk@47baa3c as its head.

Bot Status
Content Shell Android-x86 [SUCCESS 💚](https://build.crosswalk-project.org/try/builders/Content Shell Android-x86/builds/329)
Content Shell Linux [SUCCESS 💚](https://build.crosswalk-project.org/try/builders/Content Shell Linux/builds/327)

Crosswalk for android will update proxy when a PROXY_CHANGE intent is received,
but it’s need system permission to send the broadcast, there is also a workaround with
reflecting the incompatible api, but it’s too complex to maintain those codes, so
implement the new API in XWalkView to set proxy for images/text resources.

BUG=XWALK-6769

Conflicts:
	net/proxy/proxy_service.h
@rakuco
Copy link

rakuco commented Aug 25, 2016

The questions that must always be asked on every single chromium-crosswalk pull request and which have not been addressed here: have you tried to upstream this in any form? If not, why not? What's the maintenance plan here, are we expected to carry this patch forever?

@rakuco
Copy link

rakuco commented Aug 25, 2016

cc @darktears

@sunlin-link
Copy link
Contributor

have you tried to upstream this in any form? If not, why not?

This feature is requested by one of our customers. They came to us because they couldn't realize their idea with existing solutions. First, there's no proxy configuration for Android WebView, the developer can redirect the reqeust for specific url but there's nothing they can do about video streaming, which is just what the customer wants. Second, although chromium supports proxy settings, but it's not available on Android.

What's the maintenance plan here, are we expected to carry this patch forever?

As you can see, we just added some new methods in a class instead of modifying original logic. As long as this class is at work, we want to carry on this feature as a good differentiation from default WebView.

imreotto pushed a commit to tenta-browser/chromium-crosswalk that referenced this pull request Nov 2, 2017
Do not enforce ICronetEngineBuilder.setLibraryLoader() in Java and
Native builder implementations by default. Instead introduce a new
NativeCronetEngineBuilderWithLibraryLoaderImpl class that enforces
the library loader.

BUG=766248

(cherry picked from commit a9edc7a)

Cq-Include-Trybots: master.tryserver.chromium.android:android_cronet_tester
Change-Id: Ie78383084cd68b31f4a87463763891bd30368d21
Reviewed-on: https://chromium-review.googlesource.com/671416
Reviewed-by: Paul Jensen <[email protected]>
Commit-Queue: Paul Jensen <[email protected]>
Cr-Original-Commit-Position: refs/heads/master@{#502749}
Reviewed-on: https://chromium-review.googlesource.com/676168
Cr-Commit-Position: refs/branch-heads/3202@{crosswalk-project#363}
Cr-Branched-From: fa6a5d8-refs/heads/master@{#499098}
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.